The present invention relates to the field of displaying video and graphics on display devices. The present invention relates to the field of coordinating the display of video and graphics across several display devices.
The IEEE 1394-1995 standard, xe2x80x9c1394 Standard For A High Performance Serial Bus,xe2x80x9d is an international standard for implementing an inexpensive high-speed serial bus architecture which supports both asynchronous and isochronous format data transfers. In addition, the IEEE 1394-1995 bus has a universal clock called the cycle timer. This clock is synchronized on all nodes. Isochronous data transfers are real-time transfers which take place based on the universal clock such that the time intervals between significant instances have the same duration at both the transmitting and receiving applications. Each packet of data transferred isochronously is transferred in its own time period. An example of an ideal application for the transfer of data isochronously would be from a video recorder to a television set.
The video recorder records images and sounds and saves the data in discrete chunks or packets. The video recorder then transfers each packet, representing the image and sound recorded over a limited time period, during that time period, for display by the television set. The IEEE 1394-1995 standard bus architecture provides multiple independent channels for isochronous data transfer between applications. A six bit channel number is broadcast with the data to ensure reception by the appropriate application. This allows multiple applications to simultaneously transmit isochronous data across the bus structure. Asynchronous transfers are traditional reliable data transfer operations which take place as soon as arbitration is won and transfer a maximum amount of data from a source to a destination.
The IEEE 1394-1995 standard provides a high-speed serial bus for interconnecting digital devices thereby providing a universal I/O connection. The IEEE 1394-1995 standard defines a digital interface for the application thereby eliminating the need for an application to convert digital data to analog data before it is transmitted across the bus. Correspondingly, a receiving application will receive digital data from the bus, not analog data, and will therefore not be required to convert analog data to digital data. The cable required by the IEEE 1394-1995 standard is very thin in size compared to other bulkier cables used to connect such devices in other connection schemes. Devices can be added and removed from an IEEE 1394-1995 bus while the bus is operational. If a device is so added or removed the bus will then automatically reconfigure itself for transmitting data between the then existing nodes. A node is considered a logical entity with a unique address on the bus structure. Each node provides in a standard address space, an identification ROM, a standardized set of control registers and in addition, its own address space.
The IEEE 1394-1995 standard defines a protocol as illustrated in FIG. 1. This protocol includes a serial bus management block 10 coupled to a transaction layer 12, a link layer 14 and a physical layer 16. The physical layer 16 provides the electrical and mechanical connection between a device and the IEEE 1394-1995 cable. The physical layer 16 also provides arbitration to ensure that all devices coupled to the IEEE 1394-1995 bus have arbitrated access to the bus as well as actual data transmission and reception. The link layer 14 provides data packet delivery service for both asynchronous and isochronous data packet transport. This supports both asynchronous data transport, using an acknowledgement protocol, and isochronous data transport, providing an un-acknowledged real-time guaranteed bandwidth protocol for just-in-time data delivery. The transaction layer 12 supports the commands necessary to complete asynchronous data transfers, including read, write and lock. The serial bus management block 10 contains an isochronous resource manager for managing isochronous data transfers. The serial bus management block 10 also provides overall configuration control of the serial bus in the form of optimizing arbitration timing, guarantee of adequate electrical power for all devices on the bus, assignment of the cycle master, assignment of isochronous channel and bandwidth resources and basic notification of errors.
In commercially available display systems, it is perceived that the larger the display, the greater the user experience. Accordingly, home theater systems and professional display environments can benefit from large display devices. However, there are limits to the physical size of display devices. Alternatives such as projection systems either do not provide the necessary quality of image or are not feasible for various logistical or expense reasons. An alternative means of achieving a large display system is to scale the video stream across many discrete display devices. Wall-of-video configurations include multiple display devices arranged together to present a video presentation.
The IEEE 1394-1995 standard has been chosen as the industry standard for connecting upcoming generations of audio/video and information technology devices, including digital televisions. When transmitting a digital video stream across an IEEE 1394-1995 network to multiple display devices on a given isochronous channel, conventionally, each display device receiving the given isochronous channel will display the full contents of the stream. In such a configuration, instead of achieving a single display of the video image across multiple display devices, the entire video image is displayed on each display device within the configuration. Currently, there is no known system which controls the partitioning of a video stream across multiple display devices within a wall-of-video configuration.
An apparatus for partitioning, scaling and displaying video and/or graphics across several display devices includes a video source, a master device and multiple display devices arranged into a multiple display configuration. Preferably, the master device partitions the video stream into image sections and assigns each display device a corresponding image section based on its position within the multiple display configuration. Each display device then preferably receives the video stream and separates the data representing the corresponding image section. Preferably, once the data for the corresponding image section is separated, the display devices then scale their respective image sections to a full screen size image and display the scaled image simultaneously with the display of the entire frame on all display devices within the multiple display configuration. In an alternative embodiment, the master device is responsible for partitioning the video stream into image sections, scaling the image sections, encoding the scaled image sections and transmitting the scaled and encoded image sections to the appropriate display devices within the multiple display configuration. The display devices then simultaneously display the image at an appropriate time based on information in the video stream or as specified by the master device. This process is repeated for each frame within the video stream. In a further alternate embodiment, the multiple display configuration includes a combination of display devices capable of physically partitioning an image section from the video stream and display devices to which the master device partitions, scales, encodes and transmits the image for display.
In one aspect of the invention, a method of displaying images on a multiple display configuration including a plurality of display devices includes the steps of determining capabilities and characteristics of the display devices, partitioning an image into a plurality of image sections each corresponding to a display device within the multiple display configuration, assigning each image section to a corresponding display device, capturing each image section corresponding to each display device from an original data stream, scaling each image section for each display device thereby forming scaled image sections corresponding to each display device and displaying the corresponding scaled image sections at each display device at an appropriate time thereby forming a magnified image across the multiple display configuration representing the image. The method further includes the steps of determining display dimensions of the multiple display configuration, determining image dimensions of the image and calculating a size of each image section. The method further includes the steps of determining a latency value for each of the display devices, determining a worst case latency value for the display devices and communicating the worst case latency value to each of the display devices. The corresponding scaled image section represents a full screen of data for the display device. The steps of capturing and scaling are preferably performed by each display device on the appropriate image section corresponding to the display device. Alternatively, the steps of capturing and scaling are performed by a master device on each appropriate image section. The method further includes the step of encoding each scaled image section into an encoded data stream representing the scaled image section. The step of encoding includes updating a display time value within the encoded data stream. The method further includes the step of transmitting the encoded data stream in a format across a high speed serial interface, wherein the format is a selective one of an MPEG format and a DV format and the high speed serial interface is an IEEE 1394 serial bus network. The encoded data stream for each display device is transmitted over a separate isochronous channel. This method further includes the step of transmitting each scaled image section to each appropriate display device. The step of transmitting alternatively includes combining data representing the scaled image section for an appropriate display device in a stream of data packets, each including an address value corresponding to a memory location within the appropriate display device. The method further includes the step of transmitting a trigger packet on occurrence of a trigger event, the trigger packet including a trigger address value corresponding to a trigger memory location within the appropriate display device. The trigger packet includes a trigger bit, which when written into the trigger memory location, signals that storage of a current scaled image section for display by the appropriate display device is complete. The data packets are preferably isochronous packets. The trigger packet further includes a presentation time value specifying a display time of the scaled image section. The method further includes the step of transmitting the original data stream to each appropriate display device over a high speed serial interface. The high speed serial interface is an IEEE 1394 serial bus network. The original data stream includes a selective one or more of video, graphics and text.
In another aspect of the invention, a method of transmitting images to display devices within a multiple display configuration includes the steps of logically partitioning an image into a plurality of image sections each corresponding to a display device within the multiple display configuration, instructing each display device to physically partition and capture an appropriate image section corresponding to the display device from an original data stream and transmitting the original data stream to each display device. The method further includes the steps of determining display dimensions of the multiple display configuration, determining image dimensions of the image and calculating a size of each image section. The method further includes the steps of determining a latency value for each of the display devices, determining a worst case latency value for the display devices and communicating the worst case latency value to each of the display devices. The method further includes the step of instructing each display device to display its appropriate image section at an appropriate time. The appropriate time is based on the worst case latency. The step of transmitting is completed over a high speed serial interface. The high speed serial interface is an IEEE 1394 serial bus network. The original data stream includes a selective one or more of video, graphics and text.
In another aspect of the invention, a method of receiving images at a display device includes the steps of receiving instructions specifying an appropriate image section within an image to receive, capturing the appropriate image section for each image within an original data stream, scaling the appropriate image section for each image within the original data stream thereby forming a corresponding scaled image section and displaying the corresponding scaled image section at an appropriate time. The corresponding scaled image section represents a full screen of data for the display device. The method further includes the step of receiving the original data stream over a high speed serial interface. The high speed serial interface is an IEEE 1394 serial bus network.
In another aspect of the invention, a method of displaying images on a multiple display configuration including a plurality of display devices and a master device includes the steps of partitioning an image into a plurality of image sections each corresponding to a display device within the multiple display configuration, assigning each image section to a corresponding display device, capturing each image section corresponding to each display device from an original data stream at the master device, scaling each image section for each display device thereby forming scaled image sections corresponding to each display device at the master device, transmitting each scaled image section to each appropriate display device and displaying the corresponding scaled image sections at each display device at an appropriate time thereby forming a magnified image across the multiple display configuration representing the image. The method further includes the step of encoding each scaled image section into an encoded data stream representing the scaled image section, before the step of transmitting is completed. The step of encoding includes updating a display time value within the encoded data stream. The step of transmitting includes transmitting the encoded data stream in a selective one of an MPEG format and DV format across an IEEE 1394 serial bus network. Alternatively, the step of transmitting includes combining data representing the scaled image section for an appropriate display device in a stream of data packets, each including an address value corresponding to a memory location within the appropriate display device. The method further includes the step of transmitting a trigger packet on occurrence of a trigger event, the trigger packet including a trigger address value corresponding to a trigger memory location within the appropriate display device. The trigger packet includes a trigger bit, which when written into the trigger memory location, signals that storage of a current scaled image section for display by the appropriate display device is complete. The data packets are preferably isochronous packets. The trigger packet further includes a presentation time value specifying a display time of the scaled image section. The step of transmitting is performed over a high speed serial interface. The high speed serial interface is an IEEE 1394 serial bus network. The method further includes the steps of determining display dimensions of the multiple display configuration, determining image dimensions of the image and calculating a size of each image section. The corresponding scaled image section represents a full screen of data for the display device. The original data stream includes a selective one or more of video, graphics and text.
In yet another aspect of the invention, an apparatus for configuring and controlling the display of images on a multiple display configuration including a plurality of display devices includes a communications circuit configured for receiving and transmitting data and a control circuit coupled to the communications circuit for partitioning an image into a plurality of image sections each corresponding to a display device within the multiple display configuration, and assigning each image section to a corresponding display device. The control circuit further communicates through the communications circuit to provide instructions to the display devices to configure the display devices to each capture, scale and display an appropriate image section at an appropriate time. The apparatus further includes a capturing circuit coupled to the communications circuit for capturing each image section corresponding to each display device from an original data stream. The apparatus further includes a scaling circuit coupled to the capturing circuit for scaling each captured image section for each display device thereby forming scaled image sections corresponding to each display device. The apparatus further includes an encoding circuit coupled to the scaling circuit and to the communications circuit for encoding the scaled image sections thereby forming encoded image sections and transmitting the encoded image sections to each appropriate display device. The communications circuit is coupled to the display devices by a high speed serial interface. The high speed serial interface is an IEEE 1394 serial bus network.
In yet another aspect of the invention, a display for receiving and displaying images within a multiple display configuration includes a communications circuit configured for receiving and transmitting data, a capturing circuit coupled to the communications circuit for capturing an image section assigned to the display for each image within an original data stream, a scaling circuit coupled to the capturing circuit for scaling each captured image section thereby forming a scaled image section and a display circuit coupled to the scaling circuit for displaying the scaled image section. The display circuit displays the scaled image section at an appropriate time specified by a master device. The scaled image section represents a full screen of data for the display device. The communications circuit is coupled to a master device and to other display devices within the multiple display configuration by a high speed serial interface. The high speed serial interface is an IEEE 1394 serial bus network. The original data stream includes a selective one or more of video, graphics and text.
In still yet another aspect of the invention, a multiple display configuration system includes a plurality of display devices each including a display communications circuit configured for receiving and transmitting data, a capturing circuit coupled to the display communications circuit for capturing an image section assigned to the display for each image within an original data stream, a scaling circuit coupled to the capturing circuit for scaling each captured image section thereby forming a scaled image section and a display circuit coupled to the scaling circuit for displaying the scaled image section and a master device coupled to the plurality of display devices including a master communications circuit configured for receiving and transmitting data and a control circuit coupled to the master communications circuit for partitioning an image into a plurality of image sections each corresponding to one of the display devices and assigning each image section to a corresponding display device. The multiple display configuration further includes a video source coupled to the display devices and to the master device for providing a video stream as the original data stream to be displayed on the display devices. The display circuit displays the scaled image section at an appropriate time specified by the master device. The scaled image section represents a full screen of data for the display device. The display devices and the master device are all coupled together by a high speed serial interface. The high speed serial interface is an IEEE 1394 serial bus network. The original data stream includes a selective one or more of video, graphics and text.